package com.sky.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 套餐
 * @Builder 注解是 Lombok 提供的一种注解，用于简化构建对象的过程。通过在类上添加 @Builder 注解，可以自动生成一个建造者模式相关的代码，使得对象的构建更加简洁和易读。
 * 在上述示例中，Person 类被标记为 @Builder 注解，Lombok 会自动生成一个内部静态类 PersonBuilder，其中包含了构建 Person 对象所需的方法。我们可以使用生成的建造者模式来创建 Person 对象，如下所示：
 * Person person = Person.builder()
 *                       .name("张三")
 *                       .age(25)
 *                       .address("北京")
 *                       .build();
 *通过使用 @Builder 注解，我们不再需要手动编写繁琐的构造器或者使用多个 setter 方法来设置属性值，而是通过链式调用建造者模式中的方法进行对象的构建。
 *
 *类似的注解包括：
 * @NoArgsConstructor：自动生成无参构造方法。
 * @AllArgsConstructor：自动生成全参构造方法。
 * @Data：结合了 @Getter、@Setter、@ToString、@EqualsAndHashCode 的功能，简化了实体类的编写。
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Setmeal implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    //分类id
    private Long categoryId;

    //套餐名称
    private String name;

    //套餐价格
    private BigDecimal price;

    //状态 0:停用 1:启用
    private Integer status;

    //描述信息
    private String description;

    //图片
    private String image;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;

    private Long createUser;

    private Long updateUser;
}
